Professional Web Applications Themes

cksum question - PERL Beginners

#!/usr/bin/perl use strict; use warnings; my $result; $result = system("cksum foo.c | cut -d ' ' -f2"); chomp $ckresult; print "$ckresult\n"; Cksum returns an exit status of 0 if successful. This script gives out the exit status. How can I remove the exit status from the script. Is there an alternate way to do it using unpack. Any help would be appreciated. Thank You Raghu __________________________________________________ _______________ Crave some Miles Davis or Grateful Dead? Your old favorites are always playing on MSN Radio Plus. Trial month free! [url]http://join.msn.com/?page=offers/premiumradio[/url]...

  1. #1

    Default cksum question

    #!/usr/bin/perl

    use strict;
    use warnings;

    my $result;
    $result = system("cksum foo.c | cut -d ' ' -f2");
    chomp $ckresult;
    print "$ckresult\n";

    Cksum returns an exit status of 0 if successful. This script gives out the
    exit status. How can I remove the exit status from the script.

    Is there an alternate way to do it using unpack. Any help would be
    appreciated.

    Thank You
    Raghu

    __________________________________________________ _______________
    Crave some Miles Davis or Grateful Dead? Your old favorites are always
    playing on MSN Radio Plus. Trial month free!
    [url]http://join.msn.com/?page=offers/premiumradio[/url]

    Raghu Murthy Guest

  2. #2

    Default Re: cksum question

    Raghu Murthy wrote:
    >
    > use strict;
    > use warnings;
    >
    > my $result;
    > $result = system("cksum foo.c | cut -d ' ' -f2");
    > chomp $ckresult;
    > print "$ckresult\n";
    >
    > Cksum returns an exit status of 0 if successful. This script gives out the
    > exit status. How can I remove the exit status from the script.
    >
    > Is there an alternate way to do it using unpack. Any help would be
    > appreciated.
    Hi Raghu.

    I'm sorry, your straw broke this camel's back.

    Read your Perl man pages. In particular

    chomp $ckresult;
    print "$ckresult\n";

    is idiocy.

    Don't guess: learn.

    Rob


    Rob Dixon Guest

  3. #3

    Default Re: cksum question

    On Nov 4, Raghu Murthy said:
    >#!/usr/bin/perl
    >
    >use strict;
    >use warnings;
    >
    >my $result;
    >$result = system("cksum foo.c | cut -d ' ' -f2");
    >chomp $ckresult;
    >print "$ckresult\n";
    I doubt you did that; $result and $ckresult aren't the same.
    >Cksum returns an exit status of 0 if successful. This script gives out the
    >exit status. How can I remove the exit status from the script.
    The system() function executes a program, and returns the EXIT STATUS. It
    does NOT return the output. If you want the output to be returned to a
    variable, use backticks or then open() function:

    my $result = `cksum foo.c | cut -d ' ' -f2`;
    >Is there an alternate way to do it using unpack. Any help would be
    >appreciated.
    Yes. Read 'perldoc -f unpack', and you'll see there's code for computing
    a checksum:

    while (<>) {
    $checksum += unpack("%32C*", $_);
    }
    $checksum %= 65535;

    --
    Jeff "japhy" Pinyan [email]japhypobox.com[/email] [url]http://www.pobox.com/~japhy/[/url]
    RPI Acacia brother #734 [url]http://www.perlmonks.org/[/url] [url]http://www.cpan.org/[/url]
    <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course.
    [ I'm looking for programming work. If you like my work, let me know. ]

    Jeff 'Japhy' Pinyan Guest

  4. #4

    Default Re: cksum question

    Jeff 'Japhy' Pinyan wrote:
    >
    > On Nov 4, Raghu Murthy said:
    >
    > >#!/usr/bin/perl
    > >
    > >use strict;
    > >use warnings;
    > >
    > >my $result;
    > >$result = system("cksum foo.c | cut -d ' ' -f2");
    > >chomp $ckresult;
    > >print "$ckresult\n";
    >
    > I doubt you did that; $result and $ckresult aren't the same.
    >
    > >Cksum returns an exit status of 0 if successful. This script gives out the
    > >exit status. How can I remove the exit status from the script.
    >
    > The system() function executes a program, and returns the EXIT STATUS. It
    > does NOT return the output. If you want the output to be returned to a
    > variable, use backticks or then open() function:
    >
    > my $result = `cksum foo.c | cut -d ' ' -f2`;
    >
    > >Is there an alternate way to do it using unpack. Any help would be
    > >appreciated.
    >
    > Yes. Read 'perldoc -f unpack', and you'll see there's code for computing
    > a checksum:
    >
    > while (<>) {
    > $checksum += unpack("%32C*", $_);
    > }
    > $checksum %= 65535;
    Thanks Jeff.

    /R


    Rob Dixon Guest

  5. #5

    Default Re: cksum question

    the upack example from perldocs is not as accurate as a normal cksum function if you are using it to find similar/dissimilar files.

    While the output of cksum of too files who are identical will be identical every time,

    that is not the case with upack.
    >cksum /tmp/filename.war
    827661391 15147784 /tmp/filename.war

    every time.

    with the upack example you get sometime slightly different numbers.
    >cksum.pl /tmp/filename.war
    6175
    >cksum.pl /tmp/filename.war
    6176
    >cksum.pl /tmp/filename.war
    6178

    Not sure why but it won't work for me as a cksum. It just isn't consistent enough.
    Unregistered Guest

Similar Threads

  1. Newbie Question: Biz Card Template Question
    By Thomas_Porter@adobeforums.com in forum Adobe Indesign Windows
    Replies: 4
    Last Post: May 30th, 08:08 AM
  2. Replies: 9
    Last Post: April 27th, 04:44 AM
  3. Pen Tool Use Question. (Embarrassingly Newbie Question)
    By Bozo Schmozo in forum Macromedia Flash
    Replies: 0
    Last Post: November 12th, 10:00 PM
  4. ANNOUNCE: String::CRC::Cksum version 0.03
    By Andrew Hamm in forum PERL Modules
    Replies: 0
    Last Post: October 30th, 11:09 PM
  5. newB question: related tables question
    By Blue man in forum Microsoft SQL / MS SQL Server
    Replies: 1
    Last Post: June 30th, 04:13 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139