Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^6: string value assignment

by marinersk (Priest)
on May 14, 2011 at 14:13 UTC ( [id://904832]=note: print w/replies, xml ) Need Help??


in reply to Re^5: string value assignment
in thread string value assignment

Whilst awaiting your reply, I thought I'd take a moment and try to help you understand some of the social missteps you've taken in this message thread. Please take these comments as attempts to help you see how you are perceived and not as a personal attack. They are designed solely to permit you to adjust your behavior IF YOU WANT TO, and are neither authoritative nor authoritarian. I am genuinely trying to help you, and if the advice is unwanted, the most graceful thing to do is to silently ignore my observations and advice.

  1. Posting anything but a short phrase in all caps is generally interpretted as yelling. Nobody likes to be yelled at, so it is inadvisable, especially when you are, in general, asking for help. I acknowledge the very real possibility you were simply trying to make your comments distinct from the Perl code, but that's not generally how it is perceived by your audience. Since you are the one seeking assistance, it is wise to know your audience, and address them the way they wish to be addressed. I have heared heard this concept summarized as "Speaking to the listening", and it is a wisdom I wished I'd accepted and adopted much, much earlier in my own Life. I find it useful to avoid using all caps except as emphasis for a word or a short phrase.
  2. This was awkward: "THATS ALL I WANT.....PLEEEZ HELP DEARS". I suspect you were trying to be cute, or friendly, or something along those lines. I also suspect a cultural or linguistic translation problem, where this might be a literal translation of something you might say natively to good effect.

    Unfortunately, I think most people are inclined instead to interpret this as an attempt to be ingratiating and manipulative.

    Though it is wise to show humility when seeking assistance, and to adopt the posture of a student who is addressing a teacher (regardless of the actual relationship or lack thereof), there's an odd social balance point for this. Too much demonstration of humility, and it starts to sound like either wheedling or manipulation. Too little demonstration of humility, and it sounds haughty, arrogant, and pushy. There is a grace required to find that middle ground, and it is more difficult in writing since the facial expressions, body language, and tones of voice are all missing -- typical problems for E-mail and related media. Nonetheless, it is wise to find that balance point, and respectfully request assistance when it is needed and then be on your way with whatever your goals are once you've gotten what you need.

  3. You were fairly consistently asked to supply the code you'd tried, and to your credit, you finally did supply it. I'll admit I'm too lazy to examine the timestamps on all the messages and examine everything in time sequence, but based on the threaded display, it seems like it might have taken you a few rounds of conversation to finally post some code.

    Regardless of whether that's actually what happened, it is wise to pay attention to any clues you get when seeking assistance. If almost everyone asks you to do something as part of their answer to your request, you can rest fairly well-assured that your best answers are going to come only after you comply with that oft-repeated request. You don't have to understand why it is needed, but you should be intelligent enough to see that everyone who is responding is requesting it, and wise enough to comply.

    This is a general statement; it does not apply simply to you. In some ways, I am writing this rambling diatribe to help anyone else who stumbles across this thread in the future, in case they don't understand this fairly basic concept. THE WORLD DOES NOT EXIST TO SERVE YOU. When you ask for help, the wisest way to ask for it is with humility. It is no loss to you, for a moment, to admit that someone else is better than you in some small way -- and if they teach you what they know, they will no longer be better than you in this way. So honor their status as teacher for a brief moment, and quite often, the teacher will give you more than the handful of rice for which you asked. You will often find that teachers, who teach because they find value in sharing their information, knowledge, and experience with others, want to transfer not just knowledge, but also understanding. But if you treat them with disdain, they will quite commonly (and, in my opinion, quite accurately) deduce that you are not worthy of the understanding, and may at best share only the knowledge. Often they will simply ignore you. But treat them with respect, and they will often give you the world.

  4. As far as I can see in this particular instance, the basic failing point is that you, like all of us, have assumptions about how some of Perl's mechanisms work, but not having used them before, some of your assumptions may be incorrect. This is extremely common for people new to writing software, and even somewhat common, though notably less so, for people learning a new software language.

    For some reason, we humans have a tendency to forget how we breached those obstacles in our own early days as software developers. Worse, some of us didn't have to overcome them as the concepts appeared as natural as breathing. So getting irritated responses is common when a newbie comes along and asks questions full of inaccurate assumptions. But don't worry about it. Ask your questions, remember your graces whilst doing so, and, as the old saying goes, "When the student is ready, the teacher will appear."

Again, none of this is meant as a slam towards you specifically. I truely hope I have made clear that I understand your intentions were probably honest, and that many of the problems may lie in lack of experience with crossing cultural or linguistic boundaries.

But if you master the grace I have described above (and I admit, much of it you probably already knew), I suspect you will find that aid comes to you as quickly and easily as you ask for it most of the time.

And if I'm wrong, then at least I got to ramble on for a bit. :-) We old-timers like to do that from time to time.

So, anyway -- back to waiting for your reply so we can get you past this challenge and on to solving bigger and better problems in the world.

Replies are listed 'Best First'.
Re^7: string value assignment
by abidq (Initiate) on May 14, 2011 at 16:29 UTC
    sorry i got asleep while solving now listen:
    #!/usr/bin/perl $line=$ARGV[0]; #input file1 containing string list $name=$ARGV[1]; #output file, given at linux command chomp($line); chomp($name); $amino="ABC"; @cc=split(//,$amino); $line=~ s/[\s]//g; @prot=split(//,$line); $len=@prot; open(NAS,">>$name"); print NAS"0"; close NAS; open(MAJ,"valfile"); #input file 2 containing values while($li=<MAJ>){ chomp($li); $val=""; @value=split(/ +/,$li); for($p=0;$p<@prot;$p++){ for($a=0;$a<@cc;$a++){ if($prot[$p] eq "$cc[$a]"){ $val +=$value[$a]; } } $val1=$val/$len; $val1=sprintf "%5.3f",$val1; } $number++; open(MAL,">>$name"); print MAL" $number:$val1"; close MAL; } close MAJ; open(MAL1,">>$name"); print MAL1"\n"; close MAL1;

    this code finely processes the string but only line 1 ;your job is to make it take all lines of string LIKE THE WAY IT TAKES ALL LINES FROM VALUES (input file 2 ) FILE. also go through my original question where instructions/pseudo code is given

      edit: Okay, I'm an idiot. One of the filenames is hard-coded in the script. But we're still stumbling over the idea that there are two input files, and the script only opens one. So I'll leave the rest of this message intact, to show what an idiot I was in making up two new filenames instead of just the one which is actually missing.

      Okay, so I've entered your data into two input files just like it says in the first message:

      -----( Begin file1.txt )-----
      BCA 
      
      CA 
      
      ACBAA 
      
      -----( End file1.txt )-----
      -----( Begin file2.txt )-----
      1 2 3 
      
      11 22 33 
      
      -----( End file2.txt )-----
      

      I don't know why you have the extra blank lines in the files, but you showed them that way in the original message, so that's how I've entered them.

      Now I run your script:

      C:\Steve\Projects\PerlMonks\AminoSplit>perl amino.pl file1.txt outfile.txt
      
      C:\Steve\Projects\PerlMonks\AminoSplit>dir
      
       Volume in drive C is CBoot
       Volume Serial Number is B4AB-1A65
      
       Directory of C:\Steve\Projects\PerlMonks\AminoSplit
      
      05/14/2011  02:12 PM    <DIR>          .
      05/14/2011  02:12 PM    <DIR>          ..
      05/14/2011  02:10 PM                 0 $Notes.txt
      05/14/2011  02:08 PM               870 amino.pl
      04/15/2010  11:16 AM               107 ci.cfg
      05/14/2011  06:29 AM                39 doit.bat
      05/14/2011  02:09 PM                25 file1.txt
      05/14/2011  02:10 PM                23 file2.txt
      05/14/2011  02:08 PM    <DIR>          new
      05/14/2011  02:08 PM    <DIR>          old
      05/14/2011  02:12 PM                 3 outfile.txt
                     7 File(s)          1,067 bytes
                     4 Dir(s)   3,317,903,360 bytes free
      

      And I notice it's written outfile.txt just like we would expect. Its contents do not look anything like your original message suggested it would look like.

      -----( Begin outfile.txt )-----
      0
      -----( End outfile.txt )-----
      

      You claim this works for one line.

      This does not look like what I would expect.

      I say again, I do not see anywhere in your Perl script where you are attempting to read the input file. In fact, all you seem to be doing is reading the input filename and acting on its name.

      I presume you'd actually like to process its contents. I can help you with that, but I need to know where in your script you are expecting to do so.

      A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://904832]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2024-04-25 16:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found