#!/usr/bin/perl # http://perlmonks.org/?node_id=1198243 use strict; use warnings; open my $one, '<', \<<END or die; # replace with normal open Item Availability Broken Laptop_Monitor 10 2 Laptop_Case 20 0 Laptop_Bag 25 1 Office_Chair 20 1 Mouse 10 0 Keyboard 10 0 END open my $two, '<', \<<END or die; # replace with normal open Item Newly_order Ref_Name Laptop_Monitor 15 HMX-190B-F Laptop_Bag 20 BMT-1920-U Office_Chair 10 ORD-455_T END $_ = join '', <$one>, <$two>; print "Item Availability Broken Newly_order Total_ +Stock\n"; printf "%-16s%7d%12d%11d%22s\n", $1, $2, $3, $4, "($2-$3+$4)" while /^(\S+)\s+(\d+)\s+(\d+)(?=.*^\1\s+(\d+))/gms;
This is not helpful. Absolutely not helpful. Yes, this mess might produce the expected result. But that line noise at the end is incomprehensible for a beginner. And to make things worse, that join/rexexp/printf hack is probably as far away from the explained and expected solution as possible. Nothing to learn here for a beginner.
If you were my student, you would fail the test. No comments, no documentation, instant fail. No proper error handling, again instant fail. It's that simple. Yes, you would get a bonus point for creative abuse of regular expressions, but you would still fail.
Alexander
In reply to Re^2: How to combine these two files?
by afoken
in thread How to combine these two files?
by chaney123
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |