another perl question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting another perl question
# 1  
Old 06-28-2007
another perl question

I copy and paste from the book but this thing is not working.

I cannot figure out what is wrong with myline 9.. can someone please tell me



[root@localhost perl]# cat ./sort4.pl
#!/usr/bin/perl -w

use strict;
use warnings;

my $input = shift;
my $output = shift;

open(IN, '<', $input) or die "Can't read source file $input: $!\n";
open(OUT, '>', $output) or die "CAn't write to file $output: $!\n";

my @file = <IN>;
@file = sort @file;

print OUT @file;

close IN;
close OUT;

[root@localhost perl]# perl -c sort4.pl
sort4.pl syntax OK

[root@localhost perl]# perl sort4.pl
Use of uninitialized value in open at sort4.pl line 9.
Use of uninitialized value in concatenation (.) or string at sort4.pl line 9.
Can't read source file : No such file or directory
# 2  
Old 06-28-2007
$input is not defined

defined($input);


Code:
    my $input = 'foo.txt';
    my $output = 'bar.txt';

    open IN, "< $input" or die "Can't open $input : $!";
    open OUT, "> $output" or die "Can't open $output : $!";
    print OUT <IN>;
    close IN;
    close OUT;

or use @ARGV to define files

if you want to use shift try something like
Code:
sub doit {
    my $input = shift;
    my $output = shift;

    open IN, "< $input" or die "Can't open $input : $!";
    open OUT, "> $output" or die "Can't open $output : $!";
    print OUT <IN>;
    close IN;
    close OUT;
}

doit('foo.txt','bar.txt');


Last edited by photon; 06-28-2007 at 12:52 AM..
# 3  
Old 06-28-2007
But this example were taken from a book called "begining perl".. I don't understand where I made a mistake...
# 4  
Old 06-28-2007
try calling the program as

perl program.pl input.txt output.txt
# 5  
Old 06-28-2007
that works.. I guess perl programname does not work, if you don't give all the argument?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl question about

Hello everybody, I am new at the forum and a total newbie when it comes to Unix. I am trying to see how I can add the ability to kill a user's processes? I want to add this to my Shel Script Add the code/process into a subroutine. Also, I would like to use an array to store the list... (0 Replies)
Discussion started by: kinelisch
0 Replies

2. Shell Programming and Scripting

Perl Question

Hello all, I have the following line: xxx|xxxx|xxxx|xxx.xx|xxx And i insert the values in an array. I am trying to find out if the field of the array (where field=xxx.xx) has the '.' character. I am using the code below but it doesn't seem to work. if($field=~ /./) { ... (3 Replies)
Discussion started by: chriss_58
3 Replies

3. Shell Programming and Scripting

PERL Question ...

I am reading a file in perl script .. during the debug the $linein value is : linein : +ASM1,sys,||¬ |3Æqúoü;”ט|| from this line I am getting the tmepuser and password from above : ($tmpuser, $pwd) = ($linein =~ /^$server\s*,\s*(+)\s*,\|\|(.+)\|\|/sm); I am getting $tmpuser and... (2 Replies)
Discussion started by: talashil
2 Replies

4. Shell Programming and Scripting

another perl question

I have a question regarding bulding a hash from a file which has below pattern I thought I could write something like this but clearly my syntax is way off $/ = "\n\n"; $" = "\n"; open(FILE, file1) || die; my %keymaster = ( ); while (<FILE>) { my $topinfo =~... (5 Replies)
Discussion started by: hankooknara
5 Replies

5. Shell Programming and Scripting

another perl question

I fail to see how below answer is 1? can someone explain this for me? DB<3> $string = "The cat sat on the mat"; DB<4> $animal = ($string =~ m/The (.*) sat/); DB<5> print $animal; 1 (2 Replies)
Discussion started by: hankooknara
2 Replies

6. Shell Programming and Scripting

Perl question regarding [ ]

Below program, I do not get why item I am looking for is , instead of . When I do $#text, i get the right value for $value1, but when I do , i get somsething4, instead of somsethingxxxxxxxxxxxxxxxxxxx(which is what I am looking for. when I do , I get empty.. why? what did I do wrong? can you... (2 Replies)
Discussion started by: hankooknara
2 Replies

7. Shell Programming and Scripting

PERL question

Hello, pkzipc of a certain zip file yeilds the following in shell PKZIP(R) Version 6.0 FAST! Compression Utility for AIX Copyright 1989-2002 PKWARE Inc. All Rights Reserved. Registered Version PKZIP Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745 Viewing .ZIP: test.zip Length... (13 Replies)
Discussion started by: jerardfjay
13 Replies

8. Shell Programming and Scripting

perl question

If I use 2 system commands in a script, will one finish before the next one starts? or will it start the first and the second at the same time? i.e. system("ps | grep rminer"); system("ls -al | grep 431"); (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies

9. Shell Programming and Scripting

Perl: tk question

When i run my perl/tk script, a perl window pops up behind the GUI window,, can this be hidden???? Also, can the Icon be changed, the Tk icon in every window??? (1 Reply)
Discussion started by: perleo
1 Replies

10. Shell Programming and Scripting

Question about Perl

Where can i find solid information about programming in Perl? Thank you in advance!!!:) (5 Replies)
Discussion started by: SolidSnake
5 Replies
Login or Register to Ask a Question